/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package myftp.app.model;

import java.io.*;
import javax.swing.tree.*;
import myftp.app.view.dialog.TemplateDialog;

/**
 *
 * @author CAVARLE Glenn, LUCAS Stéphane
 * Model pour les arbres de parcours des dossiers
 */
public class ExplorerTreeModel extends DefaultMutableTreeNode {

    /**
     * Chemin absolue du noeud
     * @var treeAbsPath
     */
    protected String treeAbsPath;
    /**
     * Chemin relatif du noeud
     * @var treeRelPath
     */
    protected String treeRelPath;
    /**
     * Statut de l'exploration du noeud
     * @var explored
     */
    protected boolean explored;

    public ExplorerTreeModel(String path) {
        super();

        if (path == null) {
            /* Si une erreur critique dans le chemin est détectée */
            TemplateDialog.showInternalErrorDialog("Erreur Critique!");
            System.exit(0);
        }

        /* Récupération des chemins absolu et relatif */
        this.treeAbsPath = path;
        String[] tab = path.split(File.separator);

        if (tab.length == 0) {
            /* Si le noeud racine est l'emplacement '/' */
            treeRelPath = "/";

        } else {
            treeRelPath = tab[tab.length - 1];
        }
        explored = false;
        setUserObject(treeRelPath);
    }

    public String getPathNode() {
        return treeAbsPath;
    }

    public String toString() {
        return treeRelPath;
    }

    public boolean isExplored() {
        return explored;
    }

    public void haveBeenExplored() {
        explored = true;
    }
}
